// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/**
 *
 * @author jennings
 * Date: Nov 13, 2008
 */
package androidx.gdata;


public class LinkUrlUtil {
  private LinkUrlUtil() {
  }

  public static LinkUrl getNext(ThingWithLinks feed) {
    return getLinkWithRel(feed, "next");
  }

  public static LinkUrl getSelf(ThingWithLinks feed) {
    return getLinkWithRel(feed, "self");
  }

  public static LinkUrl getEditLink(ThingWithLinks feed) {
    return getLinkWithRel(feed, "edit");
  }

  private static LinkUrl getLinkWithRel(ThingWithLinks feed, String rel) {
    for (LinkUrl link : feed.getLinks()) {
      if (rel.equals(link.getRel())) {
        return link;
      }
    }
    return null;
  }

  public static LinkUrl getPostLink(ThingWithLinks feed) {
    return getLinkWithRelEndingWith(feed, "#post");
  }

  public static LinkUrl getFeedLink(ThingWithLinks feed) {
    return getLinkWithRelEndingWith(feed, "#feed");
  }

  private static LinkUrl getLinkWithRelEndingWith(ThingWithLinks feed, String rel_suffix) {
    for (LinkUrl link : feed.getLinks()) {
      if (link.getRel().endsWith(rel_suffix)) {
        return link;
      }
    }
    return null;
  }

}
